package com.orangeforms.webadmin.upms.dto;

import com.orangeforms.common.core.validator.AddGroup;
import com.orangeforms.common.core.validator.UpdateGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.Date;

/**
 * 附件资源Dto对象
 *
 * @Author：howlrou
 * @Date：2024/8/23 14:48
 */

@Schema(description = "AttachResourceDto对象")
@Data
public class AttachResourceDto {

    /**
     * 主键id
     */
    @Schema(description = "图片资源Id。", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "数据验证失败，用户Id不能为空！", groups = {UpdateGroup.class})
    private Long digitalResourceId;

    /**
     * 外键，关联到collection表的id
     */
    @Schema(description = "用户Id。", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "数据验证失败，藏品Id不能为空！", groups = {AddGroup.class})
    private Long collectionId;


    /**
     * 文件名称
     */
    @Schema(description = "文件名称。")
    private String fileName;


    /**
     * 文件存储路径
     */
    @Schema(description = "文件存储路径。")
    private String filePath;

    /**
     * 文件存储全路径
     */
    @Schema(description = "文件展示路径。")
    private String filePathUrl;

    /**
     * 创建者Id。
     */
    @Schema(description = "创建者Id")
    private Long createUserId;

    /**
     * 更新者Id。
     */
    @Schema(description = "更新者Id")
    private Long updateUserId;

    /**
     * 创建时间。
     */
    @Schema(description = "创建时间")
    private Date createTime;

    /**
     * 更新时间。
     */
    @Schema(description = "更新时间")
    private Date updateTime;

}
